The present invention relates to a numerically controlled curved surface machining unit; and, more particularly, the invention relates to a unit that provides improved machining surface roughness and accuracy and makes it possible to achieve high-speed machining.
In conventional numerically controlled (NC) curved surface machining, since a workpiece is machined by linear approximation, as shown in FIG. 2(a), the machining surface roughness is poor and a number of hand-finishing steps are needed. Besides, as shown in FIG. 2(b), since the average feed rate decreases as a result of acceleration or deceleration during positioning, a long machining time is needed and, what is worse, there is a problem in that a vast amount of NC data at shorter pitches are required to improve the machining surface accuracy.
Japanese Application Patent Laid-Open Publication No. HEI 9-114512 (1997) proposes a method of performing curved surface machining using a NC machine tool for the purpose of improving the machining surface accuracy and decreasing the NC data volume. Even with this conventional method, however, there is still a problem of poor machining surface roughness due to linear approximation and lower average feed rate due to acceleration or deceleration during positioning.
In order to solve these problems, interpolation by a NURBS curve, as shown in FIG. 3, has been proposed. A NURBS (Non-Uniform Rational B-Spline) curve is a kind of B-spline curve that is expressed by a rational expression wherein the pitches of the nodal points constituting the curve are not uniform. It is a characteristic feature that the NURBS curve uses a rational expression in defining a curve, while other curves use a polynomial.
By controlling these, a curve can be locally transformed without difficulty. Besides, it becomes possible to uniformly handle shapes, such as a cylinder, cone, sphere, hyperbola, ellipse, and parabola, that cannot be expressed accurately by other curves.
In FIG. 3, the NURBS curve defines a curve by the control point Pi, weights wi, and knot vector xi; where k is degree, Pi is control point, wi is weights, xi is knot (xixe2x89xa6xi+1), [x0, x1, . . . , xm] (m=n+k) is knot vector, and t is spline parameter.
When a B-spline basis function N(t) is expressed by a de Boor-Cox recursive expression, Expressions 1 and 2 are obtained. The NURBS curve P (t) for interpolation results in Expression 3.                                           N                          i              ,              l                                ⁢                      xe2x80x83                    ⁢                      (            t            )                          =                  {                                                                      1                  ⁢                                      xe2x80x83                                    ⁢                                      (                                                                  x                        i                                            ≤                      t                       less than                                               x                                                  i                          +                          1                                                                                      )                                                                                                                        0                  ⁢                                      xe2x80x83                                    ⁢                                      (                                                                  t                         less than                         xi                                            ,                                                                        x                                                      i                            +                            1                                                                          ≤                        t                                                              )                                                                                                          Expression        ⁢                  xe2x80x83                ⁢        1                                                      N                          i              ,              k                                ⁢                      xe2x80x83                    ⁢                      (            t            )                          =                                                            (                                  t                  -                                      x                    i                                                  )                            ⁢                              xe2x80x83                            ⁢                              N                                  i                  ,                                      k                    -                    1                                                              ⁢                              xe2x80x83                            ⁢                              (                t                )                                                                    x                                  i                  +                  k                  -                  1                                            -                              X                i                                              +                                                    (                                                      x                                          i                      +                      k                                                        -                  t                                )                            ⁢                              xe2x80x83                            ⁢                              N                                                      i                    +                    l                                    ,                                      k                    -                    1                                                              ⁢                              xe2x80x83                            ⁢                              (                t                )                                                                    x                                  i                  +                  k                                            -                              X                                  i                  +                  1                                                                                        Expression        ⁢                  xe2x80x83                ⁢        2                                          P          ⁢                      xe2x80x83                    ⁢                      (            t            )                          =                                                            ∑                                  i                  =                  0                                n                            ⁢                              xe2x80x83                            ⁢                                                N                                      i                    ,                    k                                                  ⁢                                  xe2x80x83                                ⁢                                  (                  t                  )                                ⁢                                  xe2x80x83                                ⁢                                  w                  i                                ⁢                                  xe2x80x83                                ⁢                                  P                  i                                                                                    ∑                                  i                  =                  0                                n                            ⁢                              xe2x80x83                            ⁢                                                N                                      i                    ,                    k                                                  ⁢                                  xe2x80x83                                ⁢                                  (                  t                  )                                ⁢                                  xe2x80x83                                ⁢                                  w                  i                                                              ⁢                      xe2x80x83                    ⁢                      (                                          X                                  k                  -                  1                                            ≤              t              ≤                              X                                  m                  -                  k                  +                  1                                                      )                                              Expression        ⁢                  xe2x80x83                ⁢        3            
A NURBS interpolation instruction is outputted in the following format.
G05P10000; (high-accuracy continuous tool path control mode ON)
. . .
GO6.2
[P_] K_X_Y_Z_xcex1_xcex2_[R-][F_];
K_X_Y_Z_xcex1_xcex2_[R_];
K_X_Y_Z_xcex1_xcex2_[R_];
K_X_Y_Z_xcex1_xcex2_[R_];
. . .
K_X_Y_Z_xcex1_xcex2_[R_];
K_;
. . .
K_;
G01 . . .
. . .
G05PO; (high-accuracy continuous tool path control mode OFF)
where;
GO6.2: NURBS interpolation mode ON
P: Degree of NURBS curve
K_X_Y_Z_xcex1_xcex2_: Control point (xcex1, xcex2: Rotary axis instruction)
R: Weights
K: Knot
F: Feed rate
In NURBS interpolation machining, since a curve can be smoothly machined, as shown in FIG. 2(c), less hand-finishing steps are needed. In addition, since acceleration and deceleration during positioning becomes smooth and the average feed rate increases, as shown in FIG. 2(d), the machining time can be shortened and high-speed machining becomes possible. Further, it is said to be advantageous that, since the control points for the NURBS interpolation can be set effectively, the required NC data volume can be less.
With the conventional NURBS (non-uniform rational B-spline) interpolation method, simultaneous machining on three linear axes has been possible for the purpose of machining a mold. On pages 12-17 of xe2x80x9cMachines and Toolsxe2x80x9d (February 1998 issue), is an article entitled xe2x80x9cHigh-Speed High-Accuracy Machining by NURBS Interpolation and Smooth Interpolationxe2x80x9d, a machining method with an enhanced function up to simultaneous 5-axis machining including two rotary axes is described for high-efficiency machining of a turbine blade, hydraulic turbine impeller, or the like.
On pages 8-9 of xe2x80x9cMold Engineeringxe2x80x9d (July 1998 issue), in an article entitled xe2x80x9cGeneration of High-Quality Machining Surface by Additional Axis NURBS Interpolation Machiningxe2x80x9d, a method of machining a turbine blade under control of software using a simultaneous 5-axis NURBS interpolation function is described. Since the chord length between the knot vectors is uniform in this machining method, there is a problem in that less consideration is given to the control of a curve using the knot vector, which is a characteristic feature of a NURBS curve.
According to this article, the control points on a NURBS curve calculated on a workpiece coordinate system are transformed into a machine coordinate system in accordance with the tool axis vector, and the result is employed as the control points for 5-axis NURBS interpolation without any compensation and the same knot vector as used on a workpiece coordinate system is applied to the 5-axis NURBS interpolation.
Generally speaking, however, there is no guarantee of achieving a smooth curve even if the same knot vector is employed after the coordinate transformation. For this reason, wind or warp is likely to be caused on a machining surface.
In addition, the method described in this article handles ball end mill machining where the offset of a contact point between the tool control point and the curved surface is small, and it does not handle radius end mill machining where the offset of a contact point between the tool control point and the curved surface is big. Because of this, there remains a high possibility that wind or warp is caused depending upon the extent of the offset.
Under these circumstances, it has been desired to develop a method for calculating the knot vector and control point applicable to smooth machining of a curved surface by 5-axis NURBS interpolation using the NC data that is converted from a NURBS curve calculated on a workpiece coordinate system into a machine coordinate system in accordance with the inclination of the tool axis vector.
The object of the present invention is to provide a numerically controlled curved surface machining unit which, by moving a tool smoothly along a NURBS curve, makes it possible not only to improve the machining surface roughness and machining surface accuracy but to achieve high-speed machining so as to be able to eliminate hand finishing and reduce the number of machining steps drastically.
In order to solve the above problems, the present invention proposes a numerically controlled curved surface machining unit equipped with three linear axes and, at least, one rotary axis, including a simultaneous multiple-axis control NC machine, which is numerically controlled by a numerical control unit (NC controller) with a numerical control NURBS (non-uniform rational B-spline) interpolation function. This machining unit is provided with a means for reading the tool control point vector data and tool axis vector data, that is calculated along the tool path on a workpiece coordinate system with defined curved shape by a host computer, as cutter location (CL) data and converting the CL data into a position vector of the three linear axes and a rotation angle on a machine coordinate system so as to operate the simultaneous multiple-axis control NC machine in accordance with the machine configuration of the NC machine; a means for calculating knot vectors of a NURBS curve with the most suitable chord length on the basis of a position vector of the three linear axes and a rotation angle calculated on a machine coordinate system; a means for calculating each NURBS curve of the three linear axes and one rotary axis using the knot vectors; a means for converting the NURBS curve into NURBS interpolation NC data; a means for converting the feed rate on the workpiece coordinate system into the feed rate per minute or feed rate per inverse time on the machine coordinate system; and a means for transmitting the obtained CL data to the NC controller.
The machining unit can be provided with a means for removing or inserting CL data along the tool path in accordance with the machining accuracy of the curved surface, upon reading data as CL data.
The machining unit can also be provided with a means for reading a compensation value based on the individual difference of each tool from the NC controller, upon reading data as CL data, and compensating the read CL data in accordance with the tool compensation value.
The machining unit may be provided with a means for dividing a NURBS curve based on the curvature or pitch of the CL data plotted along the tool path direction.
The machining unit can also be provided with a means for calculating a NURBS curve using, as the knot vector, the chord length of the position vector of the three linear axes plotted along the tool path direction on a machine coordinate system.
It is also possible that the machining unit is provided with a means for calculating a NURBS curve using, as the knot vector, the chord length obtained by multiplying by a coefficient each chord length of the position vector of the three linear axes plotted along the tool path direction on a machine coordinate system, and the chord length of the tool control point vector on a workpiece coordinate system and adding up the products.
The machining unit may be provided with a means for transforming a curve into NURBS interpolation in a case where the position vector of the three linear axes and the rotation angle of the rotary axis calculated on a machine coordinate system are defined by a curve formed by any of B-spline interpolation, Bezier interpolation, Coons interpolation, a polynomial, or a combination of a line and an arc.
It is desired that the machining unit is provided with a means for generating a NURBS curve or multiple NURBS curves with continuous curvature by modifying or inserting a NURBS curve(s) so that the curvature at a break point of multiple NURBS curves continuously changes within a range of machining accuracy.
The machining unit can be provided with a means for setting the tool axis vector of CL data to a specific value and converting the data into NURBS interpolation NC data for simultaneous 3-axis control NC machine equipped only with three linear axes.
The machining unit may be provided with a means for obtaining the CL data for machining a workpiece along a screw-and-spiral or single-stroke path.
It is also possible that the machining unit is provided with a means for reading the linear interpolation NC data for a simultaneous multiple-axis machine and converting the data into CL data.
The machining unit may sometimes be provided with a means for specifying the CL data that must be covered by machining without fail.
In order to solve the above problems, the present invention also proposes a numerically controlled curved surface machining unit of the type described above, that is provided with a means for reading a NURBS curve of three-linear axes and a rotary axis calculated on a machine coordinate system; a means for reading cutter location (CL) data calculated on a workpiece coordinate system; a means for calculating a NURBS curve from the tool control point center position vector of the CL data; a means for calculating a NURBS curve from the tool axis vector of the CL data; a means for calculating each sequence-of-point data to a specified machining accuracy from the NURBS curve of three linear axes and a rotary axis on a machine coordinate system; a means for converting the sequence-of-point data on a machine coordinate system into the CL data on a workpiece coordinate system; and a means for calculating each error between the CL data converted into a workpiece coordinate system and a NURBS curve of the tool control point vector and also a NURBS curve of the tool axis vector calculated on a workpiece coordinate system.
The machining unit can be provided with a means for modifying the control point or knot vector or weights of the NURBS curve on a machine coordinate system based on the calculation result of the error.
It is also possible that the machining unit is provided with a means for reading a tool compensation value from the NC machine and converting the CL data calculated on a workpiece coordinate system in accordance with the compensation value.